//1.引入Vue
import Vue from 'vue';
import Vuex from 'vuex';

//2.安装
Vue.use(Vuex);

const store = new Vuex.Store({
    //存储状态
    state:{
        //自定义共享状态
        count:0,
        stu:[
			{id:1001,name:"123"},
			{id:1003,name:"福鼠"},
			{id:1004,name:"追梦"},
		],
		user:{
			name:'随便',
			sex:"随机"
		}
    },
    // Vuex中的Store状态（state）更新的唯一方式：提交Mutation
    mutations:{//定义mutations
        add(state){ //第一个参数就是state
            // this是store对象
            // console.log(this)
            state.count++
		},
        // state(store中的state),
        //(Payload:提交方法携带的参数)
		addTen(state,ten){ //+10
			state.count +=ten
		},
		addTwo(state,obj){ //+2
			state.count +=obj.two
		},
        // 向stu数组中添加一条数据
		addStu(state,payload){
            //向数组中添加一条数据
			state.stu.push(payload) 
		},
        updUser(state,age){ //给stu对象添加新属性
			// state.user.age="18";
			// state.user = {...state.user,"age": 12}
			Vue.set(state.user, 'age', 123)
		}
    }
    
})

//导出
export default store